using ExaminationSys.DataAccess.Entity;

namespace ExaminationSys.DataAccess.Repository
{
    public interface IUnitOfWork
    {
        IRepository<Student> Students { get; }
        IRepository<TeacherInfo> TeacherInfo { get; }
        IRepository<News> News { get; }
        IRepository<NewsType> NewsType { get; }
        IRepository<Sys_DictionaryEntity> Sys_DictionaryEntity { get; }
        IRepository<Sys_UserEntity> Sys_UserEntity { get; }
        IRepository<SectionInfo> SectionInfo { get; }
        IRepository<SectionInformation> SectionInformation { get; }
        IRepository<SectionLink> SectionLink { get; }
        IRepository<SectionPaper> SectionPaper { get; }
        IRepository<SectionDownload> SectionDownload { get; }
        IRepository<SectionType> SectionType { get; }
        IRepository<SubSectionDetailInfo> SubSectionDetailInfo { get; }
        IRepository<SubSectionInfo> SubSectionInfo { get; }
        IRepository<PaperFeedBackComment> PaperFeedBackComment { get; }
        IRepository<PaperFeedback> PaperFeedback { get; }
        IRepository<PaperInfo> PaperInfo { get; }
        IRepository<PaperDetailAuto> PaperDetailAuto { get; }
        IRepository<PaperSubjectQuestion> PaperSubjectQuestion { get; }
        IRepository<DBQuestion> DBQuestion { get; }
        IRepository<DBSubject> DBSubject { get; }
        IRepository<DBAnswer> DBAnswer { get; }
        IRepository<DBSubjectQuestion> DBSubjectQuestion { get; }
        IRepository<StudentTestQuestion> StudentTestQuestion { get; }
        IRepository<StudentTestHistory> StudentTestHistory { get; }

        IRepository<LoginLog> LoginLog { get; }
        IRepository<StudentRank> StudentRank { get; }
        IRepository<TeacherPrivilegeRel> TeacherPrivilegeRel { get; } 

        void Dispose();
    }
}
